package com.lovo.project.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.UUID;

/*
文件处理工具类
 */
public class FileUtils {
    public static String  absolutePath="C:\\Users\\李\\Desktop\\image\\";

    public static String uploadFile(MultipartFile multipartFile, Object obj) throws IOException {

//        获取文件的名称
        String sourceName = multipartFile.getOriginalFilename();
//          截取文件的后缀名
        String suffixName = sourceName.substring(sourceName.lastIndexOf("."));
//        组装文件在服务器存在的名字
        // UUID.randomUUID();//UUID是一个随机的字符串，这个字符串重复的概率趋于0
        String newFileName = UUID.randomUUID() + suffixName;
//        获取文件存放服务器的路径
//        URL得到当前真真实是路径
        URL url = obj.getClass().getClassLoader().getResource("static/biaoge");
//        解码：服务器存在路径很多时候有些人喜欢中文命名，为了防止乱码需要设置
//        中文解码，只要文件路径不是中文一般不用设置
        String path = URLDecoder.decode(url.getFile(), "utf-8");
//拷贝文件  file源文件对象，方法中参数是目标文件对象
        multipartFile.transferTo(new File(path + "/" + newFileName));
        return newFileName;
    }

    public static String uploadFileAb(MultipartFile multipartFile) throws IOException {
//        获取上传文件的名称
        String fileName=multipartFile.getOriginalFilename();
//        得到后缀
        String suffixName=fileName.substring(fileName.lastIndexOf("."));
//        得到新名称
        String newFileName=UUID.randomUUID()+suffixName;
        multipartFile.transferTo(new File(absolutePath+newFileName));
        return newFileName;
    }
}

